<?php

namespace catchAdmin\report\model;

use think\facade\Db;
use catchAdmin\report\model\search\DeclarationSearch;
use catcher\base\CatchModel;
/**
 *
 * @property int $id
 * @property string $job_number
 * @property date $declare_date
 * @property string $declaration_unit
 * @property string $enter_out
 * @property date $enter_out_date
 * @property string $consignor
 * @property string $consignee
 * @property string $record_number
 * @property string $transport_type
 * @property string $transport_name_voyage
 * @property string $delivery_number
 * @property string $sale_unit
 * @property string $supervise_mode
 * @property string $exemption
 * @property string $licence
 * @property string $agreement
 * @property string $tradeCountry
 * @property string $shipToCountry
 * @property string $appointPort
 * @property string $departurePort
 * @property string $packing_type
 * @property int $piece_num
 * @property float $gross_weight
 * @property float $net_weight
 * @property string $deal
 * @property float $freight
 * @property float $premium
 * @property float $incidental
 * @property string $attached
 * @property string $remarks
 * @property int $tenant_id
 * @property int $creator_id
 * @property int $created_at
 * @property int $updated_at
 * @property int $deleted_at
 */
class Declaration extends CatchModel
{
    use DeclarationSearch;
    
    public $field = [
        // 主键
        'id',
        // 关联委托订单的工作号
        'job_number',
        //报关单号
        'customs_number',
        //报关单路径
        'file_path',
        //报关资料路径
        'file_path_two',
        // 申报日期
        'declare_date',
        // 申报单位
        'declaration_unit',
        // 进/出:1.进口，2.出口
        'enter_out',
        // 进/出口日期
        'enter_out_date',
        // 境内发货人
        'consignor',
        // 境外收货人
        'consignee',
        // 备案号
        'record_number',
        // 运输方式
        'transport_type',
        // 运输工具名称及航次号
        'transport_name_voyage',
        // 提运单号
        'delivery_number',
        // 生产销售单位
        'sale_unit',
        // 监管方式
        'supervise_mode',
        // 征免行政
        'exemption',
        // 许可证号
        'licence',
        // 合同协议号
        'agreement',
        // 贸易国
        'tradeCountry',
        // 运抵国
        'shipToCountry',
        // 指运港
        'appointPort',
        // 离镜口岸
        'departurePort',
        // 包装种类
        'packing_type',
        // 件数
        'piece_num',
        // 毛重
        'gross_weight',
        // 净重
        'net_weight',
        // 成交方式
        'deal',
        // 运费
        'freight',
        // 保费
        'premium',
        // 杂费
        'incidental',
        // 随附单证及编号
        'attached',
        // 备注
        'remarks',
        // 商户
        'tenant_id',
        // 创建人id
        'creator_id',
        // 创建时间
        'created_at',
        // 更新时间
        'updated_at',
        // 删除时间
        'deleted_at',
    ];
    
    public $name = 'db_declare_document';
     /**
       * 列表
       * @throws \think\db\exception\DbException
       * @return \think\Paginator
    */
    public function getList($tenant_id = 0)
    {
         return $this->catchSearch()
                    ->order('id','desc')
                    ->where('tenant_id',$tenant_id)
                    ->field('id,customs_number,job_number,file_path,file_path_two')
                    ->paginate();
    }
}